package com.xinke.module.system.mapper.user;

import java.util.*;

import com.xinke.component.common.pojo.PageResult;
import com.xinke.component.mybatis.mybatis.core.query.LambdaQueryWrapperExt;
import com.xinke.component.mybatis.mybatis.core.mapper.BaseMapperExt;
import com.xinke.module.system.model.entity.user.MenuDO;
import org.apache.ibatis.annotations.Mapper;
import com.xinke.module.system.model.vo.user.*;

/**
 * 菜单权限 Mapper
 *
 * @author yzx
 */
@Mapper
public interface MenuMapper extends BaseMapperExt<MenuDO> {

    default PageResult<MenuDO> selectPage(MenuPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperExt<MenuDO>()
                .likeIfPresent(MenuDO::getMenuName, reqVO.getMenuName())
                .orderByDesc(MenuDO::getMenuId));
    }

    default List<MenuDO> selectListByPermission(String permission) {
        return selectList(MenuDO::getMenuAuthCode, permission);
    }
}